<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head>
    <title>PHPXRef 0.7 : OpenSSO PHP Library 1.5.1 : /open-sso.class.php source</title>
    <link rel="stylesheet" href="sample.css" type="text/css">
    <link rel="stylesheet" href="sample-print.css" type="text/css" media="print">
    <style id="hilight" type="text/css"></style>
    <meta http-equiv="content-type" content="text/html;charset=utf-8">
</head>
<body bgcolor="#ffffff" text="#000000" link="#801800" vlink="#300540" alink="#ffffff">
<table class="pagetitle" width="100%">
	<tr>
        <td valign="top" class="pagetitle">
            [ <a href="index.html">Index</a> ]
        </td>
        <td align="right" class="pagetitle">
		    <h2 style="margin-bottom: 0px">PHP Cross Reference of OpenSSO PHP Library 1.5.1</h2>
	    </td>
    </tr>
</table>


<!-- Generated by PHPXref 0.7 at Fri Jan  8 00:38:44 2010 -->
<!-- PHPXref (c) 2000-2007 Gareth Watts - gareth@omnipotent.net -->
<!-- http://phpxref.sourceforge.net/ -->

<script src="phpxref.js" type="text/javascript"></script>
<script language="JavaScript" type="text/javascript">
<!--
ext='.html';
relbase='';
subdir='';
filename='open-sso.class.php.source.html';
cookiekey='opensso-phplib_1.5';
handleNavFrame(relbase, subdir, filename);

// -->
</script>
<script language="JavaScript" type="text/javascript">
if (gwGetCookie('xrefnav')=='off')
  document.write('<p class="navlinks">[ <a href="javascript:navOn()">Show Explorer<\/a> ]<\/p>');
else
  document.write('<p class="navlinks">[ <a href="javascript:navOff()">Hide Explorer<\/a> ]<\/p>');
</script>
<noscript>
<p class="navlinks">
[ <a href="nav.html" target="_top">Show Explorer</a> ]
[ <a href="index.html" target="_top">Hide Navbar</a> ]
</p>
</noscript>
<script language="JavaScript" type="text/javascript">
<!--

document.writeln('<table align="right" class="searchbox-link"><tr><td><a class="searchbox-link" href="javascript:void(0)" onMouseOver="showSearchBox()">Search</a><br>');
document.writeln('<table border="0" cellspacing="0" cellpadding="0" class="searchbox" id="searchbox">');
document.writeln('<tr><td class="searchbox-title">');
document.writeln('<a class="searchbox-title" href="javascript:showSearchPopup()">Search History +</a>');
document.writeln('<\/td><\/tr>');

document.writeln('<tr><td class="searchbox-body" id="searchbox-body">');
document.writeln('<form name="search" style="margin:0px; padding:0px" onSubmit=\'return jump()\'>');
document.writeln('<a class="searchbox-body" href="_classes/index.html">Class<\/a>: ');
document.writeln('<input type="text" size=10 value="" name="classname"><br>');
document.writeln('<a id="funcsearchlink" class="searchbox-body" href="_functions/index.html">Function<\/a>: ');
document.writeln('<input type="text" size=10 value="" name="funcname"><br>');
document.writeln('<a class="searchbox-body" href="_variables/index.html">Variable<\/a>: ');
document.writeln('<input type="text" size=10 value="" name="varname"><br>');
document.writeln('<a class="searchbox-body" href="_constants/index.html">Constant<\/a>: ');
document.writeln('<input type="text" size=10 value="" name="constname"><br>');
document.writeln('<a class="searchbox-body" href="_tables/index.html">Table<\/a>: ');
document.writeln('<input type="text" size=10 value="" name="tablename"><br>');
document.writeln('<input type="submit" class="searchbox-button" value="Search">');
document.writeln('<\/form>');
document.writeln('<\/td><\/tr><\/table>');
document.writeln('<\/td><\/tr><\/table>');
// -->
</script>
<div id="search-popup" class="searchpopup"><p id="searchpopup-title" class="searchpopup-title">title</p><div id="searchpopup-body" class="searchpopup-body">Body</div><p class="searchpopup-close"><a href="javascript:gwCloseActive()">[close]</a></p></div>
<h2 class="listing-heading"><a href="./index.html">/</a> -> <a href="open-sso.class.php.html">open-sso.class.php</a> (source)</h2>
<div class="listing">
<p class="viewlinks">[<a href="open-sso.class.php.html">Summary view</a>]
[<a href="javascript:window.print();">Print</a>]
[<a href="open-sso.class.php.source.txt" target="_new">Text view</a>]
</p>
<pre>
<a name="l1"><span class="linenum">   1</span></a>  &lt;?php
<a name="l2"><span class="linenum">   2</span></a>  <span class="comment">/**</span>
<a name="l3"><span class="linenum">   3</span></a>  <span class="comment"> * Session and User (database) handler for OpenSSO PHP library.</span>
<a name="l4"><span class="linenum">   4</span></a>  <span class="comment"> * </span>
<a name="l5"><span class="linenum">   5</span></a>  <span class="comment"> * This class's functions connect your application with the OpenSSO PHP library.</span>
<a name="l6"><span class="linenum">   6</span></a>  <span class="comment"> * Please read the inline documentation and write this class!</span>
<a name="l7"><span class="linenum">   7</span></a>  <span class="comment"> * Before you test it please look after the config file: config.php!</span>
<a name="l8"><span class="linenum">   8</span></a>  <span class="comment"> *</span>
<a name="l9"><span class="linenum">   9</span></a>  <span class="comment"> * API Abstract version: 1.5.1</span>
<a name="l10"><span class="linenum">  10</span></a>  <span class="comment"> *  </span>
<a name="l11"><span class="linenum">  11</span></a>  <span class="comment"> * @category   OpenSSO_PHP</span>
<a name="l12"><span class="linenum">  12</span></a>  <span class="comment"> * @package    OpenSSO_PHP</span>
<a name="l13"><span class="linenum">  13</span></a>  <span class="comment"> * @link       http://kir-dev.sch.bme.hu/opensso-phplib/</span>
<a name="l14"><span class="linenum">  14</span></a>  <span class="comment"> * @filesource</span>
<a name="l15"><span class="linenum">  15</span></a>  <span class="comment"> */</span>
<a name="l16"><span class="linenum">  16</span></a>   
<a name="l17"><span class="linenum">  17</span></a>  <span class="keyword">require_once</span> <a class="filename" href="open-sso.abstract.php.html" onMouseOver="reqPopup(event, 'open-sso.abstract.php', 'open-sso.abstract.php')">('open-sso.abstract.php')</a>;
<a name="l18"><span class="linenum">  18</span></a>  
<a name="l19"><span class="linenum">  19</span></a>  final class openSSO extends openSSO_Abstract
<a name="l20"><span class="linenum">  20</span></a>  {
<a name="l21"><span class="linenum">  21</span></a>  
<a name="l22"><span class="linenum">  22</span></a>      <span class="comment">/**</span>
<a name="l23"><span class="linenum">  23</span></a>  <span class="comment">     * Get data from the session</span>
<a name="l24"><span class="linenum">  24</span></a>  <span class="comment">     *</span>
<a name="l25"><span class="linenum">  25</span></a>  <span class="comment">     * @param (string) $name Name of the data.</span>
<a name="l26"><span class="linenum">  26</span></a>  <span class="comment">     * @return (multi) Value of the data.</span>
<a name="l27"><span class="linenum">  27</span></a>  <span class="comment">     */</span>
<a name="l28"><span class="linenum">  28</span></a>  	protected function <a class="function" onClick="logFunction('getSessionData')" href="_functions/getsessiondata.html" onMouseOver="funcPopup(event,'getsessiondata')">getSessionData</a>(<a class="var it2" onMouseOver="hilite(2)" onMouseOut="lolite()" onClick="logVariable('name')" href="_variables/name.html">$name</a>)
<a name="l29"><span class="linenum">  29</span></a>      {
<a name="l30"><span class="linenum">  30</span></a>      }
<a name="l31"><span class="linenum">  31</span></a>   
<a name="l32"><span class="linenum">  32</span></a>   
<a name="l33"><span class="linenum">  33</span></a>   
<a name="l34"><span class="linenum">  34</span></a>      <span class="comment">/**</span>
<a name="l35"><span class="linenum">  35</span></a>  <span class="comment">     * Set data to the session.</span>
<a name="l36"><span class="linenum">  36</span></a>  <span class="comment">     * Set the '$value' data to the session with '$name' name.</span>
<a name="l37"><span class="linenum">  37</span></a>  <span class="comment">     * If this name exists overwrite it.</span>
<a name="l38"><span class="linenum">  38</span></a>  <span class="comment">     * If this name don't exists create it.</span>
<a name="l39"><span class="linenum">  39</span></a>  <span class="comment">     *</span>
<a name="l40"><span class="linenum">  40</span></a>  <span class="comment">     * @param (string) $name Name of the data.</span>
<a name="l41"><span class="linenum">  41</span></a>  <span class="comment">     * @param (multi) $value Value of the data.</span>
<a name="l42"><span class="linenum">  42</span></a>  <span class="comment">     * @return void</span>
<a name="l43"><span class="linenum">  43</span></a>  <span class="comment">     */</span>
<a name="l44"><span class="linenum">  44</span></a>  	protected function <a class="function" onClick="logFunction('setSessionData')" href="_functions/setsessiondata.html" onMouseOver="funcPopup(event,'setsessiondata')">setSessionData</a>(<a class="var it2" onMouseOver="hilite(2)" onMouseOut="lolite()" onClick="logVariable('name')" href="_variables/name.html">$name</a>, <a class="var it3" onMouseOver="hilite(3)" onMouseOut="lolite()" onClick="logVariable('value')" href="_variables/value.html">$value</a>)
<a name="l45"><span class="linenum">  45</span></a>      {
<a name="l46"><span class="linenum">  46</span></a>      }
<a name="l47"><span class="linenum">  47</span></a>   
<a name="l48"><span class="linenum">  48</span></a>   
<a name="l49"><span class="linenum">  49</span></a>   
<a name="l50"><span class="linenum">  50</span></a>      <span class="comment">/**</span>
<a name="l51"><span class="linenum">  51</span></a>  <span class="comment">     * Create user.</span>
<a name="l52"><span class="linenum">  52</span></a>  <span class="comment">     * Create user with data from the '$data' param (user's SSO data).</span>
<a name="l53"><span class="linenum">  53</span></a>  <span class="comment">     * Insert to DB or whatever you store the users.</span>
<a name="l54"><span class="linenum">  54</span></a>  <span class="comment">     * Syntax: The data name that you setted in config file ('user' array) with 'sso_' prefix.</span>
<a name="l55"><span class="linenum">  55</span></a>  <span class="comment">     *            Plus 'user_name', 'user_virid', 'user_groups' variables, and these with 'sso_' prefix.</span>
<a name="l56"><span class="linenum">  56</span></a>  <span class="comment">     *</span>
<a name="l57"><span class="linenum">  57</span></a>  <span class="comment">     * @param (array) $data Single array of the user's SSO data. Keys represents the data name.</span>
<a name="l58"><span class="linenum">  58</span></a>  <span class="comment">     * @return void</span>
<a name="l59"><span class="linenum">  59</span></a>  <span class="comment">     */</span>
<a name="l60"><span class="linenum">  60</span></a>  	protected function <a class="function" onClick="logFunction('insertUser')" href="_functions/insertuser.html" onMouseOver="funcPopup(event,'insertuser')">insertUser</a>(<a class="var it4" onMouseOver="hilite(4)" onMouseOut="lolite()" onClick="logVariable('data')" href="_variables/data.html">$data</a>)
<a name="l61"><span class="linenum">  61</span></a>      {
<a name="l62"><span class="linenum">  62</span></a>      }
<a name="l63"><span class="linenum">  63</span></a>   
<a name="l64"><span class="linenum">  64</span></a>   
<a name="l65"><span class="linenum">  65</span></a>   
<a name="l66"><span class="linenum">  66</span></a>      <span class="comment">/**</span>
<a name="l67"><span class="linenum">  67</span></a>  <span class="comment">     * Get the user's data.</span>
<a name="l68"><span class="linenum">  68</span></a>  <span class="comment">     * Select user where the user name is equal with the '$userName' param.</span>
<a name="l69"><span class="linenum">  69</span></a>  <span class="comment">     * Read from DB or whatever you store the users.</span>
<a name="l70"><span class="linenum">  70</span></a>  <span class="comment">     * Return with all of the data that you store to this user (SSO and none SSO data).</span>
<a name="l71"><span class="linenum">  71</span></a>  <span class="comment">     * You must return the data names that the program add when the data stored (insert, update)!</span>
<a name="l72"><span class="linenum">  72</span></a>  <span class="comment">     *</span>
<a name="l73"><span class="linenum">  73</span></a>  <span class="comment">     * @param (string) $userName The unique user name.</span>
<a name="l74"><span class="linenum">  74</span></a>  <span class="comment">     * @return (array) Single array of the user's data (SSO and none SSO). Keys represents the data name.</span>
<a name="l75"><span class="linenum">  75</span></a>  <span class="comment">     */</span>
<a name="l76"><span class="linenum">  76</span></a>  	protected function <a class="function" onClick="logFunction('selectUser')" href="_functions/selectuser.html" onMouseOver="funcPopup(event,'selectuser')">selectUser</a>(<a class="var it5" onMouseOver="hilite(5)" onMouseOut="lolite()" onClick="logVariable('userName')" href="_variables/userName.html">$userName</a>)
<a name="l77"><span class="linenum">  77</span></a>      {
<a name="l78"><span class="linenum">  78</span></a>      }
<a name="l79"><span class="linenum">  79</span></a>   
<a name="l80"><span class="linenum">  80</span></a>   
<a name="l81"><span class="linenum">  81</span></a>   
<a name="l82"><span class="linenum">  82</span></a>      <span class="comment">/**</span>
<a name="l83"><span class="linenum">  83</span></a>  <span class="comment">     * Update user's data.</span>
<a name="l84"><span class="linenum">  84</span></a>  <span class="comment">     * Update all (SSO and none SSO) user's data where the user name is equal with the '$userName' param.</span>
<a name="l85"><span class="linenum">  85</span></a>  <span class="comment">     * Update in DB or whatever you store the users.</span>
<a name="l86"><span class="linenum">  86</span></a>  <span class="comment">     * '$data' syntax: The data name that you setted in config file with 'sso_' prefix.</span>
<a name="l87"><span class="linenum">  87</span></a>  <span class="comment">     *                 Plus 'user_name', 'user_virid', 'user_groups' variables, and these with 'sso_' prefix.</span>
<a name="l88"><span class="linenum">  88</span></a>  <span class="comment">     *                 Plus your other data that added with 'setUserData();' function.</span>
<a name="l89"><span class="linenum">  89</span></a>  <span class="comment">     *</span>
<a name="l90"><span class="linenum">  90</span></a>  <span class="comment">     * @param (string) $userName The unique user name.</span>
<a name="l91"><span class="linenum">  91</span></a>  <span class="comment">     * @param (array) $data Single array of the user's data (SSO and none SSO). Keys represents the data name.</span>
<a name="l92"><span class="linenum">  92</span></a>  <span class="comment">     * @return void</span>
<a name="l93"><span class="linenum">  93</span></a>  <span class="comment">     */</span>
<a name="l94"><span class="linenum">  94</span></a>  	protected function <a class="function" onClick="logFunction('updateUser')" href="_functions/updateuser.html" onMouseOver="funcPopup(event,'updateuser')">updateUser</a>(<a class="var it5" onMouseOver="hilite(5)" onMouseOut="lolite()" onClick="logVariable('userName')" href="_variables/userName.html">$userName</a>, <a class="var it4" onMouseOver="hilite(4)" onMouseOut="lolite()" onClick="logVariable('data')" href="_variables/data.html">$data</a>)
<a name="l95"><span class="linenum">  95</span></a>      {
<a name="l96"><span class="linenum">  96</span></a>      }
<a name="l97"><span class="linenum">  97</span></a>   
<a name="l98"><span class="linenum">  98</span></a>   
<a name="l99"><span class="linenum">  99</span></a>   
<a name="l100"><span class="linenum"> 100</span></a>      <span class="comment">/**</span>
<a name="l101"><span class="linenum"> 101</span></a>  <span class="comment">     * Hooks (optional)</span>
<a name="l102"><span class="linenum"> 102</span></a>  <span class="comment">     */</span>     
<a name="l103"><span class="linenum"> 103</span></a>   
<a name="l104"><span class="linenum"> 104</span></a>       <span class="comment">/**</span>
<a name="l105"><span class="linenum"> 105</span></a>  <span class="comment">     * Hook: Login</span>
<a name="l106"><span class="linenum"> 106</span></a>  <span class="comment">     * Call this function after the lib checked the required user data, and created the session.</span>
<a name="l107"><span class="linenum"> 107</span></a>  <span class="comment">     * (Call this function after the login method.)     </span>
<a name="l108"><span class="linenum"> 108</span></a>  <span class="comment">     *</span>
<a name="l109"><span class="linenum"> 109</span></a>  <span class="comment">     * @param void</span>
<a name="l110"><span class="linenum"> 110</span></a>  <span class="comment">     * @return void</span>
<a name="l111"><span class="linenum"> 111</span></a>  <span class="comment">     */</span>
<a name="l112"><span class="linenum"> 112</span></a>  	protected function <a class="function" onClick="logFunction('hookLogin')" href="_functions/hooklogin.html" onMouseOver="funcPopup(event,'hooklogin')">hookLogin</a>()
<a name="l113"><span class="linenum"> 113</span></a>      {
<a name="l114"><span class="linenum"> 114</span></a>      }
<a name="l115"><span class="linenum"> 115</span></a>      
<a name="l116"><span class="linenum"> 116</span></a>      
<a name="l117"><span class="linenum"> 117</span></a>      
<a name="l118"><span class="linenum"> 118</span></a>      <span class="comment">/**</span>
<a name="l119"><span class="linenum"> 119</span></a>  <span class="comment">     * Hook: Logout</span>
<a name="l120"><span class="linenum"> 120</span></a>  <span class="comment">     * Call this function after the lib &quot;destroy&quot; the session.</span>
<a name="l121"><span class="linenum"> 121</span></a>  <span class="comment">     * (Call this function after the logout method.)     </span>
<a name="l122"><span class="linenum"> 122</span></a>  <span class="comment">     *</span>
<a name="l123"><span class="linenum"> 123</span></a>  <span class="comment">     * @param void</span>
<a name="l124"><span class="linenum"> 124</span></a>  <span class="comment">     * @return void</span>
<a name="l125"><span class="linenum"> 125</span></a>  <span class="comment">     */</span>
<a name="l126"><span class="linenum"> 126</span></a>  	protected function <a class="function" onClick="logFunction('hookLogout')" href="_functions/hooklogout.html" onMouseOver="funcPopup(event,'hooklogout')">hookLogout</a>()
<a name="l127"><span class="linenum"> 127</span></a>      {
<a name="l128"><span class="linenum"> 128</span></a>      }
<a name="l129"><span class="linenum"> 129</span></a>  
<a name="l130"><span class="linenum"> 130</span></a>  
<a name="l131"><span class="linenum"> 131</span></a>  
<a name="l132"><span class="linenum"> 132</span></a>      <span class="comment">/**</span>
<a name="l133"><span class="linenum"> 133</span></a>  <span class="comment">     * Hook: Is Error?</span>
<a name="l134"><span class="linenum"> 134</span></a>  <span class="comment">     * Call this function to determine that error is occured or not.</span>
<a name="l135"><span class="linenum"> 135</span></a>  <span class="comment">     *</span>
<a name="l136"><span class="linenum"> 136</span></a>  <span class="comment">     * @param void</span>
<a name="l137"><span class="linenum"> 137</span></a>  <span class="comment">     * @return (bool) 'TRUE' if error is occured and 'FALSE' otherwise.</span>
<a name="l138"><span class="linenum"> 138</span></a>  <span class="comment">     */</span>
<a name="l139"><span class="linenum"> 139</span></a>  	protected function <a class="function" onClick="logFunction('hookIsError')" href="_functions/hookiserror.html" onMouseOver="funcPopup(event,'hookiserror')">hookIsError</a>()
<a name="l140"><span class="linenum"> 140</span></a>      {
<a name="l141"><span class="linenum"> 141</span></a>      }
<a name="l142"><span class="linenum"> 142</span></a>  
<a name="l143"><span class="linenum"> 143</span></a>  
<a name="l144"><span class="linenum"> 144</span></a>      
<a name="l145"><span class="linenum"> 145</span></a>      <span class="comment">/**</span>
<a name="l146"><span class="linenum"> 146</span></a>  <span class="comment">     * Hook: Error</span>
<a name="l147"><span class="linenum"> 147</span></a>  <span class="comment">     * Call this function when the IDP or the SP is down.</span>
<a name="l148"><span class="linenum"> 148</span></a>  <span class="comment">     *</span>
<a name="l149"><span class="linenum"> 149</span></a>  <span class="comment">     * @param void</span>
<a name="l150"><span class="linenum"> 150</span></a>  <span class="comment">     * @return void</span>
<a name="l151"><span class="linenum"> 151</span></a>  <span class="comment">     */</span>
<a name="l152"><span class="linenum"> 152</span></a>  	protected function <a class="function" onClick="logFunction('hookError')" href="_functions/hookerror.html" onMouseOver="funcPopup(event,'hookerror')">hookError</a>()
<a name="l153"><span class="linenum"> 153</span></a>      {
<a name="l154"><span class="linenum"> 154</span></a>      }
<a name="l155"><span class="linenum"> 155</span></a>   
<a name="l156"><span class="linenum"> 156</span></a>      <span class="comment">/**</span>
<a name="l157"><span class="linenum"> 157</span></a>  <span class="comment">     * End of Hooks</span>
<a name="l158"><span class="linenum"> 158</span></a>  <span class="comment">     */</span>         
<a name="l159"><span class="linenum"> 159</span></a>   
<a name="l160"><span class="linenum"> 160</span></a>   
<a name="l161"><span class="linenum"> 161</span></a>   
<a name="l162"><span class="linenum"> 162</span></a>  }
<a name="l163"><span class="linenum"> 163</span></a>  
<a name="l164"><span class="linenum"> 164</span></a>  ?&gt;
</pre>
</div>
<script language="JavaScript" type="text/javascript">
FUNC_DATA={
'selectuser': ['selectuser', 'Get the user\'s data. Select user where the user name is equal with the \'$userName\' param. Read from DB or whatever you store the users. Return with all of the data that you store to this user (SSO and none SSO data). You must return the data names that the program add when the data stored (insert, update)! ', [['','open-sso.class.php',66]], 4],
'insertuser': ['insertuser', 'Create user. Create user with data from the \'$data\' param (user\'s SSO data). Insert to DB or whatever you store the users. Syntax: The data name that you setted in config file (\'user\' array) with \'sso_\' prefix. Plus \'user_name\', \'user_virid\', \'user_groups\' variables, and these with \'sso_\' prefix. ', [['','open-sso.class.php',50]], 2],
'hookerror': ['hookerror', 'Hook: Error Call this function when the IDP or the SP is down. ', [['','open-sso.class.php',145],['','open-sso.abstract.php',123]], 1],
'updateuser': ['updateuser', 'Update user\'s data. Update all (SSO and none SSO) user\'s data where the user name is equal with the \'$userName\' param. Update in DB or whatever you store the users. \'$data\' syntax: The data name that you setted in config file with \'sso_\' prefix. Plus \'user_name\', \'user_virid\', \'user_groups\' variables, and these with \'sso_\' prefix. Plus your other data that added with \'setUserData();\' function. ', [['','open-sso.class.php',82]], 3],
'setsessiondata': ['setsessiondata', 'Set data to the session. Set the \'$value\' data to the session with \'$name\' name. If this name exists overwrite it. If this name don\'t exists create it. ', [['','open-sso.class.php',34]], 22],
'getsessiondata': ['getsessiondata', 'Get data from the session ', [['','open-sso.class.php',22]], 9],
'hooklogin': ['hooklogin', 'Hook: Login Call this function after the lib checked the required user data, and created the session. (Call this function after the login method.) ', [['','open-sso.class.php',104],['','open-sso.abstract.php',94]], 1],
'hooklogout': ['hooklogout', 'Hook: Logout Call this function after the lib "destroy" the session. (Call this function after the logout method.) ', [['','open-sso.class.php',118],['','open-sso.abstract.php',104]], 1],
'hookiserror': ['hookiserror', 'Hook: Is Error? Call this function to determine that error is occured or not. ', [['','open-sso.class.php',132],['','open-sso.abstract.php',114]], 1]};
CLASS_DATA={
};
CONST_DATA={
};
</script>
<div id="func-popup" class="funcpopup"><p id="func-title" class="popup-title">title</p><p id="func-desc" class="popup-desc">Description</p><p id="func-body" class="popup-body">Body</p></div>
<div id="class-popup" class="funcpopup"><p id="class-title" class="popup-title">title</p><p id="class-desc" class="popup-desc">Description</p><p id="class-body" class="popup-body">Body</p></div>
<div id="const-popup" class="funcpopup"><p id="const-title" class="popup-title">title</p><p id="const-desc" class="popup-desc">Description</p><p id="const-body" class="popup-body">Body</p></div>
<div id="req-popup" class="funcpopup"><p id="req-title" class="popup-title">title</p><p id="req-body" class="popup-body">Body</p></div>
<!-- A link to the phpxref site in your customized footer file is appreciated ;-) -->
<br><hr>
<table width="100%">
	<tr><td>Generated: Fri Jan  8 00:38:44 2010</td>
	<td align="right"><i>Cross-referenced by <a href="http://phpxref.sourceforge.net/">PHPXref 0.7</a></i></td>
	</tr>
</table>
</body></html>
